// lib/api/community_api.dart
import 'package:dio/dio.dart';

import '../models/community.dart'; // 导入 Community 模型
import '../models/history_list_response.dart';
import '../models/response.dart'; // 导入通用响应模型
import 'dio_client.dart'; // 导入 Dio 客户端

class CommunityApi {
  final Dio _dio = DioClient().dio; // 获取 Dio 单例

  /// 获取社区列表
  Future<ResponseSuccess<List<Community>>> getCommunities() async {
    try {
      final response = await _dio.get('/community'); // 社区列表 API 路径
      // 使用 ResponseSuccess 泛型解析响应
      return ResponseSuccess.fromJson(
        response.data,
            (json) => (json as List).map((e) => Community.fromJson(e as Map<String, dynamic>)).toList(),
      );
    } on DioException catch (e) {
      // 捕获 Dio 错误
      throw e.response?.data['msg'] ?? '获取社区列表失败，请稍后再试。';
    } catch (e) {
      // 其他未知错误
      throw '获取社区列表发生未知错误: $e';
    }
  }


}